package com.dreamer.domain.wxmall;

import com.dreamer.domain.account.GoodsAccount;
import com.dreamer.domain.pmall.goods.PmallGoodsStockBlotter;
import com.dreamer.domain.user.Agent;
import com.dreamer.domain.user.enums.UserStatus;
import com.fasterxml.jackson.annotation.JsonView;
import org.springframework.format.annotation.DateTimeFormat;

import java.sql.Timestamp;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

public class UserDTO {

    private Integer id;
    private String realName;//真实名字
    private String nickName;//微信昵称
    private String headimgurl;//微信头像
    private String mobile;
    private String weixin;
    private String idCard;
    private Agent parent;
    private UserStatus userStatus;
    private String password;
    private Timestamp updateTime;
    private Integer version;
    private String wxOpenid;
    private String payOpenid;
    private String wxUnionID;
    private Integer identity;
    //private Set<GoodsAccount> goodsAccounts = new HashSet<>();
    private Integer goodsAccountId;
    private String lastVisitIP;
    private Timestamp lastVisitTime;
    private String subDomain;
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date joinDate;//注册时间
    private String loginToken;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getHeadimgurl() {
        return headimgurl;
    }

    public void setHeadimgurl(String headimgurl) {
        this.headimgurl = headimgurl;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getWeixin() {
        return weixin;
    }

    public void setWeixin(String weixin) {
        this.weixin = weixin;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public Agent getParent() {
        return parent;
    }

    public void setParent(Agent parent) {
        this.parent = parent;
    }

    public UserStatus getUserStatus() {
        return userStatus;
    }

    public void setUserStatus(UserStatus userStatus) {
        this.userStatus = userStatus;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public String getWxOpenid() {
        return wxOpenid;
    }

    public void setWxOpenid(String wxOpenid) {
        this.wxOpenid = wxOpenid;
    }

    public String getPayOpenid() {
        return payOpenid;
    }

    public void setPayOpenid(String payOpenid) {
        this.payOpenid = payOpenid;
    }

    public String getWxUnionID() {
        return wxUnionID;
    }

    public void setWxUnionID(String wxUnionID) {
        this.wxUnionID = wxUnionID;
    }

    public Integer getIdentity() {
        return identity;
    }

    public void setIdentity(Integer identity) {
        this.identity = identity;
    }

    public Integer getGoodsAccountId() {
        return goodsAccountId;
    }

    public void setGoodsAccountId(Integer goodsAccountId) {
        this.goodsAccountId = goodsAccountId;
    }

    public String getLastVisitIP() {
        return lastVisitIP;
    }

    public void setLastVisitIP(String lastVisitIP) {
        this.lastVisitIP = lastVisitIP;
    }

    public Timestamp getLastVisitTime() {
        return lastVisitTime;
    }

    public void setLastVisitTime(Timestamp lastVisitTime) {
        this.lastVisitTime = lastVisitTime;
    }

    public String getSubDomain() {
        return subDomain;
    }

    public void setSubDomain(String subDomain) {
        this.subDomain = subDomain;
    }

    public Date getJoinDate() {
        return joinDate;
    }

    public void setJoinDate(Date joinDate) {
        this.joinDate = joinDate;
    }

    public String getLoginToken() {
        return loginToken;
    }

    public void setLoginToken(String loginToken) {
        this.loginToken = loginToken;
    }
}
